#ifndef _OSD_PROC_H_
#define _OSD_PROC_H_
#include <stdint.h>
#include <imp/imp_osd.h>
#include "cross_com.h"

class COSDProc
{
public:
	COSDProc();
	~COSDProc();
public:
	int Init(int grpNum, int ch);
	int InitTimeOSD(IMPRect rect); //int x,int y);
	int Destroy();
	int Start();
	void Stop();
	int osd_show(bool bEnable);

protected:
	static int update_thread(void *parm);

private:
	bool			m_bUseFIFO;
	char *			m_osdTmBuf;
	int             m_osdBufSz;
	IMPRgnHandle	m_fontHander;
	int				m_grpNum;
	cross_thread_t	m_thdID;
	bool            m_bLive;
	int             m_channel;
	int             m_tmOsdHeight; //OSD_REGION_HEIGHT;
	int             m_tmOsdWidth;
};

#endif
